package com.jinzhi.jzweb.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.JazUserOrderDO;
import com.jinzhi.common.base.CoreService;
import com.jinzhi.jzweb.domain.vo.JazUserOrderQueryVo;
import com.jinzhi.jzweb.domain.vo.JazUserOrderVO;
import com.jinzhi.jzweb.domain.vo.home.OrderRechargeVo;
import com.jinzhi.jzweb.domain.vo.userAunt.UserVO;

import java.util.List;

/**
 * 
 * <pre>
 * 
 * </pre>
 * <small> 2023-04-18 09:38:41 | Long</small>
 */
public interface JazUserOrderService extends CoreService<JazUserOrderDO> {
    //查询订单列表
    Page<JazUserOrderVO> selectOrderList (JazUserOrderQueryVo jazUserOrderQueryVo);

    //查询订单详情
    JazUserOrderVO selectOrderDetail(Long id);

    //查询首页收入/订单信息
    OrderRechargeVo getOrderRecharge(Integer type);

    //导出数据查询
    List<JazUserOrderVO>  JazUserOrderExcel(JazUserOrderVO jazUserOrderVO);

    //更改订单状态为已完成
    Result<String> updateByIdStatus(JazUserOrderDO jazUserOrder);

    /***
     * 查询所有保洁信息
     * @return
     */
    List<UserVO> getUserAunt(String id,String projectId);

    /**
     * 修改审核结果
     * @param jazUserOrder
     * @return
     */
    Result<String> updateAuditResult(JazUserOrderDO jazUserOrder);

    /**
     * 服务转让
     * @param jazUserOrder
     * @return
     */
    Result serviceTransfer(JazUserOrderVO jazUserOrder);

    /**
     * 服务转让根据id查询
     * @param id
     * @return
     */
    Result serviceTransferById(Long id);

    /**
     * 修改服务订单月嫂信息
     * @param jazUserOrderVO
     * @return
     */
    Result<String> updateUserOrderAunt(JazUserOrderVO jazUserOrderVO);


    JazUserOrderVO auntOrderDetail(Long id);

    /***
     * 查询所有保洁信息
     * @return
     */
    List<UserVO> getUserAuntBaoJie();

    Integer auntOrderStatusNum();

    void auntUpdateOrderRead(String orderIds);

    Integer auntConcludeStatusNum();

    void auntUpdateConcludeRead(String orderIds);

}
